560 FOR K = 1 TO 30: FOR J = 1 TO 5:SO = PEEK(S): NEXT J: NEXT K
570 FOR J = 1 TO 1000: NEXT J: NORMAL
580 POKE -16368,0
590 RETURN
600 REM * TITLE & SET UP *
610 X = 4:Y = 36:XG = 36:YG = 4: DIM M(150): DIM F(150)
620 S = -16336
630 HOME : VTAB 5: HTAB 10
640 INVERSE : VTAB 6: HTAB 13: PRINT " "
650 HTAB 13: PRINT " SPEED MAZE "
660 HTAB 13: PRINT " "
670 NORMAL : VTAB 22: PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **"
680 VTAB 20: HTAB 8: PRINT "DO YOU WANT INSTRUCTIONS?";: GET K$
690 IF K$ < >"Y" THEN RETURN
700 GOTO 720
710 REM * INSTRUCTIONS *
720 HOME
730 VTAB 1: PRINT "THE OBJECT OF SPEED MAZE IS TO THREAD YOUR WAY THROUGH THE MAZE FROM YOUR STARTING POSITION (THE MARKER ON THE"
740 PRINT "LEFT) TO THE GOAL (THE MARKER ON THE RIGHT). YOU MUST NOT HIT ANY OF THE WALLS OR YOUR OWN TRAIL BY BACKING UP. YOUR DIRECTION IS CONTROLLED BY THE FOLLOWING FOUR KEYS:"
750 PRINT : PRINT : PRINT " A UP"
760 PRINT : PRINT " Z DOWN"
770 PRINT : PRINT " <- LEFT"
780 PRINT : PRINT " -> RIGHT"
790 PRINT : PRINT
800 PRINT : PRINT "WHEN YOU ARE READY TO SET YOUR SPEED,"
810 GOSUB 880
820 RETURN
830 REM SET VELOCITY
840 HOME : VTAB 12: HTAB 4: INPUT "HOW FAST WILL YOU TRAVEL? (THE RANGE IS 1 (SLOW) TO 10 (FAST) ";V$:V1 = VAL(V$)
850 IF V1 <1 OR V1 >10 THEN 840
860 VE = 205 -(V1 *20)
870 RETURN
880 REM CONTINUE SEQUENCE
890 VTAB 22: PRINT " PRESS ANY KEY TO CONTINUE "
900 K = PEEK( -16384): IF K <127 THEN 900
910 POKE -16368,0: RETURN
920 REM * DRAW BOARD *
930 GOSUB 1460: REM DRAW GRID
940 GOSUB 1410: REM INITIALIZE M() ARRAY
950 GOSUB 1340: REM CHOOSE FIRST CELL
960 GOSUB 1010: REM ADD ADJ. TO FRONTIER
990 GOTO 960
1000 REM * ADD ADJ. TO FRONT. *
1010 TC = 0
1020 IF M(N -11) < = 0 THEN M(N -11) = -1:F(TC) = N -11:TC = TC +1
1030 IF M(N +11) < = 0 THEN M(N +11) = -1:F(TC) = N +11:TC = TC +1
1040 IF M(N -1) < = 0 THEN M(N -1) = -1:F(TC) = N -1:TC = TC +1
1050 IF M(N +1) < = 0 THEN M(N +1) = -1:F(TC) = N +1:TC = TC +1
1060 IF TC = 0 THEN GOTO 1230
1070 REM * CELL & WALL & ERASE *
1080 FC = INT( RND(1) *TC)
1090 IF N -F(FC) = 11 THEN M(N) = M(N) +1:CC = N:M(N -11) = 4:N = N -11:BK = 0: GOTO 1140
1100 IF N -F(FC) = -11 THEN M(N) = M(N) +4:CC = N:M(N +11) = 1:N = N +11:BK = 2: GOTO 1140
1110 IF N -F(FC) = -1 THEN M(N) = M(N) +2:CC = N:M(N +1) = 8:N = N +1:BK = 1: GOTO 1140
1120 IF N -F(FC) = +1 THEN M(N) = M(N) +8:CC = N:M(N -1) = 2:N = N -1:BK = 3: GOTO 1140